package org.lanqiao.db;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

public class DBTestDriver {

	/*
	 * 新建dynamic web project
	 * 连接数据库：将驱动jar引入项目，将数据库驱动jar拷入项目的WebContent/WEB-INF/lib下即可
	 */
	public static void main(String[] args) {
		
		try {
			//4、组织数据操作sql语句
			String strSql="select * from departments";
			//5、执行数据操作处理
			ResultSet rs=DBFactory.getDBDriverInstane().query(strSql);
			//6、根据数据操作结果进行业务逻辑处理
			//遍历结果集显示查询结果
			while(rs!=null&&rs.next()){
				//使用get方法获取字段内容
				System.out.println("第一列："+rs.getObject(1));
				System.out.println("DEPARTMENT_NAME:"+rs.getObject("DEPARTMENT_NAME"));
			}
			
			//将光标放到结果集的最前面（第一行前），在oracle中需要在创建Statement时设置两个属性值；
			rs.beforeFirst();
			System.out.println("---------------------");
			//获取与列相关的信息
			ResultSetMetaData rsmd=rs.getMetaData();
			//获取查询结果集
			int colCount=rsmd.getColumnCount();
			while(rs!=null&&rs.next()){
				//使用for循环输出当前结果集中当前行中所有的列信息
				for(int i=1;i<=colCount;i++){
					System.out.println("\t"+rsmd.getColumnLabel(i)+"-"+rs.getObject(rsmd.getColumnLabel(i)));
				}
				System.out.println();
			}
			
			//7、关闭资源
			if(rs!=null){
				rs.close();
			}
		} catch (SQLException e) {
			//数据库连接处理异常
			System.out.println("Oracle-Jdbc:数据库连接异常");
			e.printStackTrace();
		}
	}

}
